Adaptive filters can be very effectively used to determine attitude and orientation, especially when containing the correct combination of state variables. When such adaptive filters are used to fuse the outputs obtained from a combination of gyroscopes, magnetometers and accelerometers, the gyroscope provides the instantaneous angular displacement, while the magnetometer and accelerometer are used to correct the longer-term errors that accumulate in the gyroscope's output. These errors include bias offset drift, saturation and non-continuous displacements caused by shock. The two main computational threads in such systems are the gyroscope propagation that produces the orientation estimate and the adaptive filter loop that produces the magnetometer and accelerometer-based error correction estimate that the most current gyro propagation result must be corrected by.
Traditional adaptive filters used for the purpose of motion sensor fusion are recursive in structure and provide the most accurate instantaneous snapshot of a device's attitude and orientation in any given moment. The orientation outputs are a single stream of data that are sequentially generated in time. The specific filter's tuning with respect to learning and merging rates as well as other performance parameters can be adjusted to suit the target application. Such applications can vary greatly in the required dynamic behavior of the adaptive filter and can range from high rates of correction for video gaming control, to very low rates of correction for pedestrian dead reckoning.
There are certain applications, however, where due to the complexity of the motion being measured, the performance of the application would benefit greatly from simultaneously having the availability of two or more adaptive filters that are each specifically tuned to optimize the filter's convergence characteristics for different dynamic motions. This plurality of filters and their respective outputs could both be operative on the same set of sensor data, or based upon buffered sensor data that could be advantageously shifted in time. Furthermore, there are many instances where the present sensor data may have a marked improvement in convergence accuracy due to a key set of sensor measurements that happen sometime in the future, so a simultaneous filter structure would allow for the separate computations paths necessary for both instantaneous angular outputs as well as a highly accurate gyro propagation correction once the right set of sensor data are measured.
It is desirable to have apparatuses, methods, and systems for more accurately and efficiently estimating an orientation of a user device.